/**
 * 
 */
package com.obradovicnjegovan.webprodavnica.pages.admin;

import java.util.List;

import org.apache.tapestry5.alerts.AlertManager;
import org.apache.tapestry5.annotations.InjectPage;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.hibernate.annotations.CommitAfter;
import org.apache.tapestry5.ioc.annotations.Inject;

import com.obradovicnjegovan.webprodavnica.controller.ControllerAL;
import com.obradovicnjegovan.webprodavnica.entities.Proizvod;

/**
 * @author njegovan
 *
 */
public class Proizvodi {
	@Inject
	private ControllerAL controllerAL;
	@Property
	private Proizvod proizvod;
	@Inject
    private AlertManager alertManager;
	
	public List<Proizvod> getProizvodi(){
		return controllerAL.pronadjiSveProizvode();
	}
	
	public int getRb(Proizvod proizvod){
		int result = 1;
        for (Proizvod p:getProizvodi()) {
          if (proizvod.equals(p)) return result;
          result++;
        }
        return 1;
	}
	
	public String formatDouble(double cena){
		return controllerAL.formatDouble(cena);
	}
	
	@CommitAfter
	private void onObrisiProizvod(Proizvod p){
		try {
			alertManager.info(controllerAL.obrisiProizvod(p));
		} catch (Exception e) {
			// TODO: handle exception
		}
	}
	
	@InjectPage
	private AzurirajProizvod azurirajProizvod;
	
	public Object onEditProzivod(Proizvod proizvod){
		azurirajProizvod.setProizvod(proizvod);
		return azurirajProizvod;
	}
	
	public int ukupnoOdabran(Proizvod proizvod){
		return proizvod.getOdabraniProizvodi().size();
	}
}